The present invention relates generally to a method and system for coordinating access to Internet web sites by a group of web browsers that are being run at a group of user terminals.
It is known that users can retrieve information from web sites (network sites) via the Internet. The basic model for retrieving information from web sites is user initiated information searching. Specifically, a user interacts with (via a terminal) a web browser to send a request to a web site. In response to the request, the web server for the web site retrieves the information requested and sends the web browser the information arranged in so called web page (HTML) format. One of the unique features of this model is the feature of "hyper-text links" embedded in web pages that have been retrieved. This feature enables a user in searching for information to "navigate" from one web page to another. In order to provide services (or assistance) to users (or consumers) via the Internet, it is desirable to provide a mechanism to synchronize web page navigation among a group of web browsers that are being run on a group of user terminals.
Synchronizing navigation of web pages has been a manual process that requires the user leading the navigation to inform the other users following the navigation via a separate communication channel (such as via telephone lines): which URL (Uniform Resource Locator) he/she is on, what data is being entered, and the other actions he/she is taking. One problem of this manual process is that it is error prone because each of the following users must listen to the oral instruction from the leading user and perform the activities according to the oral instruction. Another problem of this process is that it is laborious, thus not practical in some situations, such as providing interactive customer supports through web page navigation.
One approach to solving the problems in the manual process is to install a monitoring program at a web site. When a leading terminal sends requests to a web site, the monitoring program at the web side collects the URLs for the requested web pages and broadcasts the URLs to all following terminals, so that the following terminals can load the web pages requested by the leading terminal from the web site based on the URLs. However, under this approach, the monitoring program is not always able to monitor the requests from the leading terminal and broadcasts URLs to the following terminal, because when the leading terminal retrieves web pages from its browser cache space or from a proxy server, the requests are fulfilled locally and are never sent to the web site. As a result, the URLs are not accurately tracked.
Another approach to solving the problems in the manual process is to install a monitoring program together with a browser (a leading browser) at a leading terminal. The monitoring program constantly communicates with the leading web browser. When the leading browser sends requests out, the monitoring program collects the URLs for the web pages requested by the leading browser and sends the URLs to a server. The server then broadcasts the URLs to monitoring programs that are installed together with browsers (following browsers) at following terminals. The monitoring programs then instruct the following browsers to load the web pages requested by the leading browser according to the URLs. However, this approach requires designing and installing monitoring programs that are capable of communicating with the leading and following browsers. At the current time, different web browsers are manufactured by a variety of vendors, including: Netscape.RTM., Microsoft.RTM., Sun Microsystem, IBM, and others. For a programmer to design such a monitoring program, it requires him/her to know the details of a proprietary web browser, and it may require updating the monitoring program whenever a proprietary web browser is updated. In addition, a monitoring program designed for a web browser manufactured by one vendor is typically not portable to another web browser manufactured by another vendor because browser interface mechanisms are proprietary. Moreover, users may perceive it as intrusive to be required installing a specialized application capable of collecting and reporting the information about the web pages retrieved from all other web sites.
Therefore, there is a need for an improved method to provide more dependable web page navigation synchronization.
There is another need for an improved method to provide web page navigation synchronization without requiring knowledge of the details about the web navigation software.
There is yet another need for an improved method to design web page navigation synchronization software that is portable to different software environments.
The present invention meets these needs.